"""
The MIT License (MIT)
Copyright © 2020 Walkline Wang (https://walkline.wang)
https://gitee.com/walkline/micropython-ble-library
"""
import ubluetooth as bt
from ble.const import BLEConst
from .__characteristic import Characteristic


class AerobicHeartRateLowerLimit(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.AEROBIC_HEART_RATE_LOWER_LIMIT)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class AerobicHeartRateUpperLimit(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.AEROBIC_HEART_RATE_UPPER_LIMIT)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class AerobicThreshold(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.AEROBIC_THRESHOLD)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class Age(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.AGE)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class Aggregate(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.AGGREGATE)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class AlertCategoryID(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.ALERT_CATEGORY_ID)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class AlertCategoryIDBitMask(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.ALERT_CATEGORY_ID_BIT_MASK)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class AlertLevel(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.ALERT_LEVEL)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class AlertNotificationControlPoint(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.ALERT_NOTIFICATION_CONTROL_POINT)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class AlertStatus(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.ALERT_STATUS)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class Altitude(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.ALTITUDE)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class AnaerobicHeartRateLowerLimit(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.ANAEROBIC_HEART_RATE_LOWER_LIMIT)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class AnaerobicHeartRateUpperLimit(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.ANAEROBIC_HEART_RATE_UPPER_LIMIT)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class AnaerobicThreshold(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.ANAEROBIC_THRESHOLD)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class Analog(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.ANALOG)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class AnalogOutput(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.ANALOG_OUTPUT)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class ApparentWindDirection(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.APPARENT_WIND_DIRECTION)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class ApparentWindSpeed(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.APPARENT_WIND_SPEED)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class Appearance(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.APPEARANCE)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class BarometricPressureTrend(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.BAROMETRIC_PRESSURE_TREND)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class BatteryLevel(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.BATTERY_LEVEL)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class BatteryLevelState(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.BATTERY_LEVEL_STATE)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class BatteryPowerState(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.BATTERY_POWER_STATE)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class BloodPressureFeature(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.BLOOD_PRESSURE_FEATURE)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class BloodPressureMeasurement(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.BLOOD_PRESSURE_MEASUREMENT)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class BodyCompositionFeature(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.BODY_COMPOSITION_FEATURE)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class BodyCompositionMeasurement(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.BODY_COMPOSITION_MEASUREMENT)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class BodySensorLocation(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.BODY_SENSOR_LOCATION)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class BondManagementControlPoint(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.BOND_MANAGEMENT_CONTROL_POINT)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class BondManagementFeatures(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.BOND_MANAGEMENT_FEATURES)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class BootKeyboardInputReport(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.BOOT_KEYBOARD_INPUT_REPORT)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class BootKeyboardOutputReport(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.BOOT_KEYBOARD_OUTPUT_REPORT)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class BootMouseInputReport(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.BOOT_MOUSE_INPUT_REPORT)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class CGMFeature(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.CGM_FEATURE)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class CGMMeasurement(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.CGM_MEASUREMENT)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class CGMSessionRunTime(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.CGM_SESSION_RUN_TIME)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class CGMSessionStartTime(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.CGM_SESSION_START_TIME)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class CGMSpecificOpsControlPoint(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.CGM_SPECIFIC_OPS_CONTROL_POINT)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class CGMStatus(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.CGM_STATUS)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class CrossTrainerData(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.CROSS_TRAINER_DATA)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class CSCFeature(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.CSC_FEATURE)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class CSCMeasurement(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.CSC_MEASUREMENT)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class CurrentTime(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.CURRENT_TIME)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class CyclingPowerControlPoint(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.CYCLING_POWER_CONTROL_POINT)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class CyclingPowerFeature(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.CYCLING_POWER_FEATURE)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class CyclingPowerMeasurement(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.CYCLING_POWER_MEASUREMENT)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class CyclingPowerVector(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.CYCLING_POWER_VECTOR)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class DatabaseChangeIncrement(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.DATABASE_CHANGE_INCREMENT)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class DatabaseHash(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.DATABASE_HASH)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class DateOfBirth(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.DATE_OF_BIRTH)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class DateOfThresholdAssessment(Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.DATE_OF_THRESHOLD_ASSESSMENT)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class (Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class (Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class (Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class (Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class (Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class (Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class (Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class (Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class (Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class (Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class (Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)


class (Characteristic):
	UUID = bt.UUID(BLEConst.Characteristics.)
	FLAGS = bt.

	def __init__(self):
		Characteristic.__init__(self, self.UUID, self.FLAGS)
